package com.absorbx.jcr.dao;

import java.util.Collection;


public interface ContentDao {
	
    public Object update(Object object);

    public Object save(Object object);

    public void remove(final Object object);

    public void removeByPath(final String path);

    public Object findByPath(String path);

    public Object findByUUID(String uuid);

    @SuppressWarnings("unchecked")
	public Collection getAll(final Class clazz);

    @SuppressWarnings("unchecked")
	public Collection getAllInScope(String scope, Class clazz);

    @SuppressWarnings("unchecked")
	public Collection findByProperty(final Class clazz, String scope,
            String propertyName, String value);

    public <T> Collection<T> doPagination(final Class<T> clazz, String scope, long offset,
            long limit) ;
}
